The use of variance analysis as a trigger for alarms is known for distilling key information from a plethora of data points. However, too much non-specific information hinders the ability to monitor and measure the performance of computer systems. The understanding of system performance characteristics increases significantly the application code is instrumented to provide useful data for measuring the particular application. When source code is accessible application developers may employ a simple, static approach where calls to a metrics package are inserted at appropriate points in the application code. If source is not available instrumentation may be possible using dynamic techniques such as Aspect-Oriented-Programming (AOP) to gather metrics via aspects deployed at well-defined pointcuts.
However, previous techniques for the use of application-specific metrics provide only first-order data which must be interpreted by an operator to be useful.